-- CALC_HIDE_ITEM_BONUS

-- 计算洞窟隐藏物件奖励（奖励规则较复杂不能直接配置的）
-- @param user      玩家对象
return function(user, bonusArg)
    local class = bonusArg.class;
    local rand  = DungeonM.getRandSeed("HIDE_ITEM") % 100;

    -- 化合物调合装置
    if class == 797 then
        -- 50%概率：随机给予【地精化合物 I 型】×5
        -- 30%概率：随机给予【地精化合物 II 型】×4
        -- 20%概率：随机给予【地精化合物 III 型】×3
        local amount;
        if rand < 50 then
            rand = DungeonM.getRandSeed("HIDE_ITEM");
            amount = 1 + rand % 4;
            return { { 1, 7531, amount, }, { 1, 7532, 5 - amount, } };
        elseif rand < 80 then
            rand = DungeonM.getRandSeed("HIDE_ITEM");
            amount = 1 + rand % 3;
            return { { 1, 7533, amount, }, { 1, 7534, 4 - amount, } };
        else
            rand = DungeonM.getRandSeed("HIDE_ITEM");
            amount = 1 + rand % 2;
            return { { 1, 7535, amount, }, { 1, 7536, 2 - amount, } };
        end
    end

    -- 生锈的培养炉
    if class == 798 then
        -- 必定获得【培养炉核心】及炼金材料
        -- 60%概率：随机2阶炼金材料×10
        -- 40%概率：随机3阶炼金材料×5
        if rand < 60 then
            rand = DungeonM.getRandSeed("HIDE_ITEM");
            return { {1, 8239, 1}, { 1, FormulaM.invoke("FETCH_BY_RAND", { 1104, 1105, }, rand), 10 }, };
        else
            rand = DungeonM.getRandSeed("HIDE_ITEM");
            return { {1, 8239, 1}, { 1, FormulaM.invoke("FETCH_BY_RAND", { 1106, 1107, }, rand), 5 }, };
        end
    end

    if class == 799 then
        -- 50%概率：【加农炮弹】×5、【灰矮人爆雷M32】×3
        -- 50%概率：【加农炮弹】×5、【灰矮人爆雷M48】×2
        if rand < 50 then
            return { {1, 7523, 5}, { 1, 7529, 3}, };
        else
            return { {1, 7523, 5}, { 1, 7530, 2}, };
        end
    end

    return {};
end
